package com.kuaimacode.kframework.mybatis.mapper.agent;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kuaimacode.kframework.mybatis.models.agent.SysAgent;
import com.kuaimacode.kframework.mybatis.models.agent.SysAgentOrder;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 分站信息表
 * Mapper 接口
 * </p>
 *
 * @author Bean
 * @since 2019-03-13
 */
public interface SysAgentMapper extends BaseMapper<SysAgent> {
    /**
     * @param amount
     * @return
     */
    int updateBalance(@Param("agentId") String agentId, @Param("inOut") String inOut, @Param("amount") BigDecimal amount);

    /**
     * 查询分站订单信息
     * @param agentId
     * @param startTime
     * @param endTime
     * @return
     */
    List<SysAgentOrder> findAgentOrderDetail(@Param("agentId") String agentId, @Param("type") String type, @Param("startTime") Date startTime,
                                             @Param("endTime") Date endTime, @Param("pageStart") int pageStart, @Param("pageSize") int pageSize);

    /**
     * 分站首页展示分站总交易额等信息
     * @param agentId
     */
    List<Map<String, Object>> findIndexTop1(@Param("agentId") String agentId);

    /**
     * 分站首页展示今日数据、昨日数据信息
     * @param time
     * @return
     */
    Map<String, String> findIndexTop2Left(@Param("time") Date time, @Param("agentId") String agentId);

    /**
     * 分站首页展示待处理事务
     * @param agentId
     * @return
     */
    Map<String, String> findIndexTop2Right(@Param("agentId") String agentId);

    /**
     * 展示日期汇总信息
     * @param agentId
     * @param type
     * @param startTime
     * @param endTime
     * @return
     */
    Map<String, BigDecimal> findCollectInfo(@Param("agentId") String agentId, @Param("type") String type, @Param("startTime") Date startTime,
                                        @Param("endTime") Date endTime);
}